<template>
  <div id="app">
      <router-view></router-view>
  </div>
</template>

<script>
  export default {
    name: 'App',
    //解决刷新时vuex的数据重置消失
    created() {
      // 先检查sessionStorage中是否有数据，若存在数据则加载到vuex
      if (window.sessionStorage.getItem("store")) {
        this.$store.replaceState(
          Object.assign(
            {},
            this.$store.state,
            JSON.parse(window.sessionStorage.getItem("store"))
          )
        );
        window.sessionStorage.removeItem("store");
      }

      //在页面刷新时将vuex里的信息保存到sessionStorage里
      window.addEventListener("beforeunload", () => {
        window.sessionStorage.setItem("store", JSON.stringify(this.$store.state));
      });
    }
  }
</script>
